Preliminary Design
Requested by: Dr. Darren Lim
Assistant Professor
Department of Computer Science
Siena College
Mrs. Pauline
White
Visiting Instructor
Department of Computer Science
Siena College
Generation Java
ID – 10t Consultants
Prepared by: Kevin Mulchay
Christine Fox
Nick Miller
Jordan Steans
December 1, 2008
Generation Java
Preliminary Design
Table of
Contents
I. Product Overview and Summary
ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.3
II. External Design Specifications
Detailed
Data Flow DiagramsÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ3
Prototype
Screens...ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ..É.3
Logical
Data DictionaryÉ..ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ...................................4
III. Architectural Design Specification
Structure
Diagrams (Hierarchy Diagram)ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.7
IV. Testing Requirements
Requirements
InventoryÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.8
Unit TestsÉÉÉÉÉ..ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.14
Section 1: Product Overview
and Summary
Students learn best through practice
and application of course materials.
Generation Java will provide students with the ability to practice,
complete homework assignments, take quizzes and test, in an input based web
application that will compile and run the studentÕs Java code for instantaneous
feedback. Instructors will be able
to create question sets and allow student access as well as being able to offer
more practice for students. Administrators
will manage, update, and maintain this application management system.
Section 2: External Design
Specifications
Detailed Data Flow Diagrams
(see attached document)
Prototype Screens (see attached document)
Logical Data Dictionary
ID-10t
Consulants |
|
|||||
Data
Dictionary |
|
|||||
|
|
|
|
|
Date: 11/20/08 |
|
TABLE |
COLUMN |
DATA TYPE |
DESCRIPTION |
NOTES |
VALIDATION |
|
students |
std_id |
VARCHAR(8) |
Siena College network login |
Required: Primary Key |
AlphaNumeric |
|
students |
std_email |
VARCHAR(30) |
student's e-mail address |
|
|
|
students |
std_fname |
VARCHAR(20) |
student's first name |
|
|
|
students |
std_lname |
VARCHAR(20) |
student's last name |
|
|
|
students |
std_password |
VARCHAR(15) |
student's password |
Chosen by student at account creation. Passwords must be a minimum length of
8 characters |
AlphaNumeric |
|
instructor |
inst_id |
VARCHAR(8) |
Siena College network login |
Required: Primary Key |
AlphaNumeric |
|
instructor |
inst_email |
VARCHAR(30) |
instructor's e-mail address |
|
|
|
instructor |
inst_fname |
VARCHAR(20) |
instructor's first name |
|
|
|
instructor |
inst_lname |
VARCHAR(20) |
instructor's last name |
|
|
|
instructor |
inst_password |
VARCHAR(15) |
instructor's password |
Chosen by system administrator at account creation. Passwords must be a minimum length of
8 characters |
AlphaNumeric |
|
sys_adm |
sys_id |
VARCHAR(10) |
system administrator's login user id |
Chosen by the system administrator |
|
|
sys_adm |
sys_email |
VARCHAR(30) |
system administrator's e-mail address |
|
|
|
sys_adm |
sys_fname |
VARCHAR(20) |
system administrator's first name |
|
|
|
sys_adm |
sys_lname |
VARCHAR(20) |
system administrator's last name |
|
|
|
sys_adm |
sys_password |
VARCHAR(15) |
system administrator's password |
Chosen by the system administrator. Passwords must be a minimum length of
8 characters |
AlphaNumeric |
|
prg_adm |
prg_id |
VARCHAR(8) |
Siena College network login |
Required: Primary Key |
AlphaNumeric |
|
prg_adm |
prg_email |
VARCHAR(30) |
program administrator's e-mail address |
|
|
|
prg_adm |
prg_fname |
VARCHAR(20) |
program administrator's first name |
|
|
|
prg_adm |
prg_lname |
VARCHAR(20) |
program administrator's last name |
|
|
|
prg_adm |
prg_password |
VARCHAR(15) |
program administrator's password |
Chosen by the system administrator at account
creation. Passwords must be a
minimum length of 8 characters |
AlphaNumeric |
|
prg_adm |
prg_course |
VARCHAR(10) |
program administrator coordinates the specified course,
section-wide |
Chosen by the system administrator at account creation |
|
|
course |
course_number |
VARCHAR(10) |
course subject followed by course number and section
number |
Required: Primary Key |
|
|
course |
course_name |
VARCHAR(30) |
course name |
|
|
|
course |
semester |
VARCHAR(10) |
semester in which the course is offered |
Chosen by the system administrator at course creation |
|
|
course |
course_inst |
VARCHAR(20) |
course instructor |
|
|
|
course |
course_pw |
VARCHAR(15) |
course password |
Chosen by the system administrator at course creation |
AlphaNumeric |
|
question_set |
set_name |
VARCHAR(20) |
question set name |
|
|
|
question_set |
set_type |
VARCHAR(8) |
question set type |
Question Set types are: |
|
|
question_set |
size |
NUMBER |
number of questions in a question set |
|
|
|
published_set |
set_name |
VARCHAR(20) |
question set name |
|
|
|
published_set |
time_avail |
TIME |
the time the question set becomes available |
Chosen at publication of the question set |
|
|
published_set |
time_due |
TIME |
the time the question set is due or becomes unavailable |
Chosen at publication of the question set |
|
|
published_set |
date_avail |
DATE |
the date the question set becomes available |
Chosen at publication of the question set |
|
|
published_set |
date_due |
DATE |
the date the question set is due or becomes unavailable |
Chosen at publication of the question set |
|
|
published_set |
time_limit |
TIME |
how long a user has to submit the question set once the
user has started answering the question set |
Chosen at publication of the question set. This is an optional field and can be
left empty |
|
|
published_set |
num_of_attempts |
NUMBER |
the number of attempts a user has per question |
Chosen at publication of the question set |
|
|
published_set |
late_submission |
VARCHAR(3) |
whether a published question set accepts late submissions |
Chosen at publication of the question set. Yes or No will be entered into this
field |
|
|
published_set |
visible |
VARCHAR(3) |
whether a published question set is visible to users after
the date and time due |
Chosen at publication of the question set. Yes or No will be entered into this
field |
|
|
question |
qst_title |
VARCHAR(30) |
question title |
|
|
|
question |
qst_category |
VARCHAR(10) |
question category |
Categories
are: |
|
|
question |
question |
TEXT |
the question |
Can be added through an uploaded file |
|
|
question |
signature |
VARCHAR(80) |
method signature for the question |
|
|
|
question |
test_cases |
TEXT |
viewable test cases for the question |
Can be added through an uploaded file |
|
|
question |
hidden_test_cases |
TEXT |
hidden test cases for the question |
Can be added through an uploaded file and is also an
optional field that can be left empty |
|
|
question |
solution |
TEXT |
question solution |
Can be added through an uploaded file |
|
|
question |
recursive |
VARCHAR(3) |
whether the question should be answered recursively |
Yes or No will be entered into this field |
|
|
question |
hints |
TEXT |
question hints |
An optional field, can be left empty |
|
|
gradebook |
course |
VARCHAR(10) |
course subject followed by course number and section
number |
|
|
|
gradebook |
date |
DATE |
date of an assignement |
|
|
|
gradebook |
assignment_name |
VARCHAR(20) |
name of an assignment |
|
|
|
gradebook |
pts_earned |
NUMBER |
number of points earned on an assignment |
|
|
|
gradebook |
point_total |
NUMBER |
total number of points that can be earned on an assignment |
|
|
|
gradebook |
category |
VARCHAR(20) |
category of the assignment |
|
|
|
gradebook |
weight |
PERCENT |
the weight of an assignment used to calculate a users'
overall grade |
|
|
|
private_pool |
qst_set |
VARCHAR(20) |
name of a question set |
|
|
|
private_pool |
size |
NUMBER |
number of question sets in a private pool |
|
|
|
course_pool |
qst_set |
VARCHAR(20) |
name of a question set |
|
|
|
course_pool |
size |
NUMBER |
number of question sets in a course pool |
|
|
|
global_pool |
qst_set |
VARCHAR(20) |
name of a question set |
|
|
|
global_pool |
size |
NUMBER |
number of question sets in the global pool |
|
|
|
bulletin |
announcements |
TEXT |
announcements found on the home screen bulletin |
|
|
|
|
|
|
|
|
|
|
Section 3: Architectural Design
Specification
Section 4: Testing Requirements
Requirements Inventory
Functional Requirements
Requirements
grouped according to Use Case.
System Administrator:
There is only one System
Administrator.
Once logged in, a System
Administrator has three views available:
á
Student
á
Instructor
á
Administrator
The System Administrator can perform
different tasks based on which view is currently be used:
Student View
o The System Administrator views the
system as a Student that is registered in all possible courses.
o The System Administrator is not seen
as registered for any course by any user.
o The System Administrator does not
need to log out to switch between courses.
o The System Administrator is able to
attempt any question set, including all homework, quiz, test, and practice sets
for any section of any course by having the same functionality a student would
have in attempting a question set.
o The System Administrator is able to save code to a database.
o Once code is compiled and executed,
the System Administrator will receive feedback on it.
o The feedback received by the System
Administrator is identical to that of a Student; however, it is not viewable by
any Instructor.
o The System AdministratorÕs grades are
not counted in any reports, including reports run by an Administrator.
o The System Administrator should be
aware when the maximum number of attempts (if specified) has been reached on a
question, but should not be restricted by it as a Student would be.
o The System Administrator has the
ability to click any links (if provided and enabled) on any question.
o The System Administrator can view all
files posted by all Instructors.
Instructor View
o The System Administrator views the
system as an Instructor that is instructing all possible courses.
o The System Administrator is not seen
as an Instructor of any course by any user.
o The System Administrator does not
need to log out to switch between courses.
o The System Administrator can create,
edit, delete, and distribute all questions and question sets.
o The System Administrator can set a
time and date for any question set to become available.
o The System Administrator can set a
time and date for any questions set to be due.
o The System Administrator can assign
point totals to any question set.
o The System Administrator can see all
StudentsÕ last submissions and submission information for every (attempted)
question in every question set.
o The System Administrator can see all
StudentsÕ statistics (including login information) and all statistics for every
question in every question set.
o Statistics will be provided in a
report that can be requested by the System Administrator.
Administrator View
o Program Administrator
o Instructor
o Student
Program Administrator:
A Program Administrator coordinates
one more sections/courses.
There may be multiple Program
Administrators.
Program Administrators do not
register.
A Program AdministratorÕs account is
created by the System Administrator.
Once logged in, a System
Administrator has three views available:
á
Student
á
Instructor
á
Administrator
A Program Administrator can perform
different tasks based on which view is currently be used:
Student View
o A Program Administrator views the
system as a Student that is registered in all courses specified by the System
Administrator.
o A Program Administrator is not seen
as registered for any course by any user except by the System Administrator.
o A Program Administrator does not need
to log out to switch between courses.
o A Program Administrator is able to
attempt any of the question sets specified by the System Administrator,
including homework, quiz, test, and practice sets.
o A Program Administrator is able to
save code to a database.
o Once code is compiled and executed, A
Program Administrator will receive feedback on it.
o The feedback received by a Program
Administrator is identical to that of a Student; however, it cannot be viewed
by any Instructor.
o A Program AdministratorÕs grades are
not counted in any reports, including reports run by an Administrator.
o A Program Administrator should be
aware when the maximum number of attempts (if specified) has been reached on a
question, but should not be restricted by it as a Student would be.
o A Program Administrator has the
ability to click any links (if provided and enabled) on any question specified
by the System Administrator.
o A Program Administrator can view all
files posted by Instructors specified by the System Administrator.
Instructor View
o A Program Administrator views the
system as an Instructor that is instructing all courses specified by the System
Administrator.
o A Program Administrator is not seen
as an Instructor of any course by any user.
o A Program Administrator does not need
to log out to switch between courses.
o A Program Administrator can create,
edit, delete, and distribute course-specific questions and question sets.
o A Program Administrator can set a
time and date for any question set specified by the System Administrator to
become available.
o A Program Administrator can set a
time and date for any questions set specified by the System Administrator to be
due.
o A Program Administrator can assign
point totals to any question set specified by the System Administrator.
o A Program Administrator can see all
StudentsÕ (specified by the System Administrator) last submissions and
submission information for every (attempted) question in every question set.
o A Program Administrator can see all
StudentsÕ (specified by the System Administrator) statistics (including login
information) and all statistics for every question in every question set (also
specified by the System Administrator).
Administrator View
o Instructor
o Student
Instructor:
An Instructor does not register.
An InstructorÕs account is created by
a Program Administrator or the System Administrator.
Once logged in, an Instructor has two
views available:
á
Student
á
Instructor
An Instructor can perform different
tasks based on which view is currently be used:
Student View
o An Instructor views the system as a
Student that is registered in all courses specified by the Program
Administrator.
o An Instructor is not seen as
registered for any course by any user.
o An Instructor does not need to log
out to switch between courses.
o An Instructor is able to attempt any
of the question sets specified by the Program Administrator, including
homework, quiz, test, and practice sets.
o An Instructor is able to save code to
a database.
o Once code is compiled and executed,
an Instructor will receive feedback on it.
o The feedback received by an
Instructor is identical to that of a Student. No one else can view this
feedback.
o An InstructorÕs grades are not
counted in any reports, even reports run by an Administrator.
o An Instructor should be aware when
the maximum number of attempts (if specified) has been reached on a question, but
should not be restricted by it as a Student would be.
o An Instructor has the ability to
click any links (if provided and enabled) on any question specified by the
Program Administrator.
o An Instructor can view all files
posted by themselves or other Instructors specified by the Program
Administrator.
Instructor View
o An Instructor can view all courses
specified by a Program Administrator.
o An Instructor is seen as the
Instructor for all courses specified by the Program Administrator.
o An Instructor does not need to log
out to switch between courses.
o If an Instructor wishes to teach a
new course, the new course may be added by inputting the Course ID into the
appropriate location. A Course ID is provided by the Program Administrator or
System Administrator.
o An Instructor has the ability to
create, edit, and delete java questions in the InstructorÕs own private pool.
o An Instructor can upload a question
or enter it into a text box.
o An Instructor may provide links to
aid a Student.
o An Instructor has the ability to
create, edit and delete question sets in the InstructorÕs own private pool.
o An Instructor can use questions from
the InstructorÕs private pool, the course-specific pool, or the global pool
when creating question sets.
o When creating a question set, an
Instructor can set point totals and a maximum number of attempts allowed for
each question.
o An Instructor can set a time and date
for a question set to become available and unavailable.
o If an Instructor wishes to add a
question or question set to the course-specific pool, it must be submitted to
the Program Administrator.
o If an Instructor wishes to add a
question or question set to global pool, it must be submitted to the System
Administrator.
o An Instructor can see all StudentsÕ
(registered in the InstructorÕs course) last submissions and submission
information for every (attempted) question in every question set.
o An Instructor can see all StudentsÕ
(registered in the InstructorÕs course) statistics (including login
information) and all statistics for every question in every question set (also
in the InstructorÕs course).
o These statistics (which include grade
information) can be generated into reports and exported to a tab delimited or
.pdf file.
o An Instructor may edit a StudentÕs
grade as seen fit.
o An Instructor may deny a student
access to a course.
o An Instructor may post files that can
be viewed by Students in the InstructorÕs course.
An Instructor can log out in either
view.
Student:
A Student has only one view.
o A Student must register in a specific
course by entering a Course ID in the appropriate location.
o A Course ID is provided by the
Instructor of that course.
o A Student may be registered in
multiple courses under the same username and password.
o A Student does not need to log out in
order to change which course is currently being worked in.
o A Student has the ability to view and
attempt any question set provided by the Instructor.
o When a Student submits code, feedback
is returned indicating the codeÕs degree of correctness.
o A Student can retry a question until
the number of attempts (if specified) has run out.
o A Student may see only their own
grades and statistics.
o A Student may view any link or file
provided by the Instructor (if enabled).
o A Student may not click out of the
testing window during a test or the test will be terminated.
o A Student may log out as desired.
Non Functional Requirements
-
The
system should run quickly, using fast servers and databases.
-
The
system should be user-friendly.
Section 4: Unit Tests (see attached document)